﻿#region 
/*---------------------------------------------------------------- 
* 项目名称 ：MRC.Data.Models 
* 项目描述 ： 
* 类 名 称 ：RoleModels 
* 类 描 述 ： 
* 所在的域 ：DESKTOP-HKKGEJ7
* 命名空间 ：MRC.Data.Models
* 机器名称 ：DESKTOP-HKKGEJ7 
* CLR 版本 ：4.0.30319.42000 
* 作 者 ：mrc 
* 创建时间 ：2018/11/2 23:29:53 
* 更新时间 ：2018/11/2 23:29:53 
* 版 本 号 ：v1.0.0.0 
******************************************************************* 
* Copyright @ mrc 2018. All rights reserved. *******************************************************************
 //----------------------------------------------------------------*/
#endregion
using MRC.AutoMapper;
using MRC.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace MRC.Data.Models
{
    public class SimpleRoleModel
    {
        public string Id { get; set; }
        public string Name { get; set; }

        public static SimpleRoleModel Create(Sys_Role role)
        {
            SimpleRoleModel roleModel = new SimpleRoleModel();
            roleModel.Id = role.Id;
            roleModel.Name = role.Name;
            return roleModel;
        }
    }

    public class AddOrUpdateRoleInputBase : ValidationModel
    {
        [RequiredAttribute(ErrorMessage = "角色名称不能为空")]
        public string Name { get; set; }
        public int? SortCode { get; set; }
        public bool IsEnabled { get; set; }
        public string Description { get; set; }
        public string PermissionIds { get; set; }

        public string[] GetPermissionIds()
        {
            if (this.PermissionIds == null)
                return new string[0];
            return this.PermissionIds.Split(',');
        }
    }

    [MapToType(typeof(Sys_Role))]
    public class AddRoleInput : AddOrUpdateRoleInputBase
    {
        public string CreateUserId { get; set; }
    }

    [MapToType(typeof(Sys_Role))]
    public class UpdateRoleInput : AddOrUpdateRoleInputBase
    {
        [RequiredAttribute(ErrorMessage = "{0}不能为空")]
        public string Id { get; set; }
    }
}
